home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / mactosh / macii / image81.sit / About Image(Text) / About Image(Text)
Encoding:
Text File  |  1988-08-08  |  31.4 KB  |  352 lines  |  [TEXT/MACA]

  1. Image .81
  2.  
  3.  
  4. Image is a program for the Macintosh II for acquiring, enhancing, analyzing, editing, animating, printing and pseudocoloring images.  It can do density histograms, contrast enhancement, density profiling, digital filtering, and compute the average density and area of a user defined regions of interest. It provides many MacPaint-like editing functions, including the ability to draw lines, rectangles, ovals and text. Objects may be drawn either outlined or filled, in any of 256 colors or shades of gray. It supports the $995 Data Translation QuickCapture frame grabber card for digitizing images using a TV camera.
  5.  
  6. For full operation, Image requires a Mac II with at least 2 megabytes of memory, but 5 megabytes, or more, is recommended for doing animation, for simultaneously displaying more than a handful of pictures, for running under MultiFinder, or when using a 19 inch monitor. Image also requires an 8-bit video card capable of displaying 256 colors or shades of gray.
  7.  
  8.  
  9.  
  10. File Menu
  11.  
  12. New - Newly created windows are 600 pixels wide and 512 pixels high and are filled with the current background color. Eventually there will be a way to specify the size of new  windows.
  13.  
  14. Open - You can open three types of files:
  15.  
  16. 1) The standard Image picture file format("IPIC"),  described later in this document, which is unique to the Image program.
  17.  
  18. 2) GrayView pictures, of type "gray", which are created by the freeware GrayView program. Image normally uses the color palette stored in the picture, but if you hold the Option key down while opening, Image will continue using the current palette. This allows you, for example, to open a GrayView image using a 256 gray-level palette.
  19.  
  20. 3) PICT files, of type "PICT", created by many Mac programs, including MacDraw, GrayView, and PixelPaint. Hold  down the Option key if you want to use the current palette to display the PICT file.
  21.  
  22.  
  23. Import - Opens files created by the IBM-PC based MCID image analysis system from  Imaging Research. These files are expected to be of type "TEXT" (actually, they are binary files) and to contain the line width(less one) in the first 16-bit word and the number of lines(less one) in the second 16-bit word, immediately followed by the  pixel data in row order. The width and height are stored in Intel byte order, which is the opposite of the normal 68000 byte order. Eventually, the Import command will be expanded to support additional file types.
  24.  
  25. Close - Closes the currently active picture window, i.e., the one with the highlighted title bar. This command should also close other types of windows, such as the Histogram window, but currently doesn't.
  26.  
  27. Save - Resaves the image in the currently active window to the disk. In the case of  a newly created window you will be prompted for a name. Files are resaved in their original format. In other words,  files in Image format are resaved in Image format and files in PICT format are resaved in PICT format. 
  28.  
  29. Save as - Saves the contents of the currently active window to a file in Image format. You will be asked to enter a name for the new file.  
  30.  
  31. Save as PICT- Saves the contents of the currently active window to a PICT file. PICT files can be read by many other Mac programs, including PixelPaint, GrayView, SuperPaint, and MacDraw.  PICT files also have the advantage of being more compact if the picture being saved contains large areas of uniform density, which is typical of computer generated images.
  32.  
  33. Save Selection as - Saves the contents of the current selection to a file, which you will be asked to name. The selection will be saved in the format of the original picture.
  34.  
  35. Save Preferences -  Saves(as a resource in the Image application) the current state of the following Image program parameters:
  36.  
  37. Ñ Foreground color
  38. Ñ Background color
  39. Ñ Brush size
  40. Ñ Smudger diameter
  41. Ñ Airbrush diameter
  42. Ñ Color Look-Up Table mode
  43. Ñ Color palette position and width
  44. Ñ Selection outline mode(xor or black&white)
  45. Ñ Text attributes, including font, size, style, and justification
  46. Ñ Extra colors
  47. Ñ Invert Video switch
  48.  
  49.  
  50. Revert to Saved - Reverts to the most recently saved version of the file, effectively undoing all changes made since the last Save command.
  51.  
  52. Duplicate - Creates a new window the size of the current rectangular selection, copies the selection to the new window, and then makes the new window  the active window. You can duplicate the current picture, including portions that may be offscreen,  by typing Command-A(Select All) and then Command-D(Duplicate).
  53.  
  54.  
  55. Halftone Options - Allows you to specify how halftoning is to be done on the LaserWriter or other PostScript printer. Halftoning is a technique which allows gray-scale images to printed on a device whose pixels can only be black or white. The pixels are divided into small groups(or cells) according to some pattern(called the halftone screen). Within each group, some pixels are set to black and some to white in proportion to the gray-level of that part of the image. A screen frequency of about 50 halftone cells per inch,  providing a cell size of 6 x 6 pixels, is optimum for a 300 dots per inch laser printer.
  56.  
  57. Page Setup - Lets you specify printing  orientation (portrait or landscape) and scale (25% to 400%). The quality of density profile plots will be better if  you enlarge the plot widow  before printing the plot.
  58.  
  59. Print  - This command lets you print gray-level images, plots, histograms and the results of measurements. What gets printed is determined by which window is active at the time. The print command changes (e.g, "Print Image", "Print Plot", etc.) depending on which window is active.
  60.  
  61. Print Image - Prints the contents of the active image window on PostScript printers using halftoning to simulate shades of gray. Any colors are converted to shades of gray(using the equivalent of the Apply Lookup Table command). If you have made a rectangular selection, then only the selection will be printed.
  62.  
  63. Print Plot - Prints the current density profile plot or calibration plot. The size of the printed plot is proportional to the size of the plot window.
  64.  
  65. Print Histogram - Prints the contents of the current histogram window.
  66.  
  67. Print Readings - Prints the results of measurements made with the measure Command. The Print Readings command is available when you have used the Measure command at least once and the results window  is active.
  68.  
  69. Print Lengths - Prints the results of length measurements made with the ruler tool. This command is available when the results window has been activated and you have made at least one length measurement.
  70.  
  71. Print Points - Prints the coordinate pairs resulting from using the point measurement tool. This command is available when you have activated the results window and have recorded at least one point.
  72.  
  73.  
  74.  Load Palette - You can load three kinds of  palettes:
  75.  
  76. 1) The standard Image pseudo-color palette, of type "ICOL", which are limited to a maximum of 32 colors, and are unique to the Image program.
  77.  
  78. 2)  Color Look-Up Table(CLUT) files, of type "CLUT", created by the Klutz DA, and useful for "capturing" CLUTs created by other programs.
  79.  
  80. 3) CLUT files created by the PixelPaint program, of type "PX05".
  81.  
  82.  
  83. Save Palette - Saves the current color palette, including color starting location and width, to a file. Currently the palette must an standard Image palette, and not a 256 color palette, such as those produced by Klutz and PixelPaint.
  84.  
  85.  
  86.  
  87. Edit Menu
  88.  
  89. Undo - Reverses the effect of the last editing or filtering operation.
  90.  
  91. Cut -  Copies the contents of the current selection to the Clipboard and then erases the current selection.
  92.  
  93. Copy -  Places a copy of  the contents of the current selection on the Clipboard. You can also use the Color Picker Tool to copy colors from the CLUT window to the Clipboard. Copy and Paste of colors is limited to standard Image palettes of 32 or fewer colors. The Copy command will also copy the contents of the CLUT, Plot, and Histogram windows to the Clipboard.
  94.  
  95. Paste - Displays the contents of the Clipboard in the currently active window. The pasted object is automatically selected, allowing you to move it by clicking and dragging. With rectangular objects, hold down the Command key and drag to expand or contract the selection. It is not currently possible to paste non-rectangular selections into a different window. You can also use the paste command to paste colors Copied with the Color Picker Tool  back into the CLUT window.
  96.  
  97. Special Paste - Similar to paste, except that the selection is copied to the screen using "Or" mode, rather then "Copy" mode, allowing you to transparently see both the object being pasted and the underlying image. This can be useful for aligning two images, and works particularly well for black on white binary images, such as PICT files created by MacDraw. Also, in the Special Paste mode you can vary the color of the object being pasted by clicking in the CLUT window , which can result in interesting effects. Special Paste can also be used to color objects in black and white PICT files created by SuperPaint, MacDraw and similar programs. Simply select the object you want to color, Copy, Special Paste, then select a color by clicking in the CLUT window.
  98.  
  99. Select All - This command is equivalent to using the rectangular selection tool to select the entire picture, including portions that may be offscreen. 
  100.  
  101. Rotate Left - Rotates the current rectangular selection counter-clockwise 90 degrees. Holding the Option key down causes the original object to be erased before being replaced  by the rotated version.
  102.  
  103. Rotate Right - Rotates the current rectangular selection clockwise 90 degrees. Hold the Option key down to erase before rotating.
  104.  
  105. Free Rotate - Rotates the current rectangular selection an arbitrary number of degrees. Rotation will be clockwise if you specify a positive number and counterclockwise if you specify a negative number.
  106.  
  107.  
  108.  
  109. Options Menu
  110.  
  111. Invert Palette - Vertically flips the current color palette.
  112.  
  113. Set Number of Colors - Allows you to change the the number of colors used in the current color palette. If the number you specify is greater then the number of colors currently used, then the added colors will be set to shades of gray. Newly added colors may be edited by selecting the eyedropper tool and double-clicking in the CLUT window on the color you would like to change.
  114.  
  115. Set Number of Extra Colors - This command allows you to reserve up to six entries in the Color Look-Up Table for colors that will not be altered by routines that manipulate the look-up table. For example, you could use an extra color to add color annotation to a monochrome picture.  Extra colors are displayed at the bottom of the CLUT window, allowing you to edit them by double-clicking with the eyedropper Tool.
  116.  
  117.  
  118. Autoscale Plots - If checked,  plots generated by the density profiling tool will be scaled depending on the minimum and maximum density values. If not checked, a y-axis  range of 0 to 255 is used.
  119.  
  120. Invert Plots - If checked, plots generated by the density profiling tool will be inverted.
  121.  
  122.  
  123.  
  124. Palettes - Image currently supports four different types of look-up tables.
  125.  
  126. 1) Monochrome - Consists 256 shades of gray. Contrast and brightness can be altered by manipulating the  function displayed in the MONO window. The current look-up table function can be applied to the pixel data, thereby making contrast and brightness changes permanent, by using the ╥Apply Look-Up Table╙ command. Image's default monochrome palette is the same as PixelPaints GrayScale palette.
  127.  
  128. 2) Pseudo-color - This is the default color mode in Image. It was inherited from the PDP╨11 version of Image. In this mode your are limited to a maximum of 32 colors. You can use the CLUT tool(the double headed arrow) to both stretch (changing contrast) and shift the colors within the CLUT. Also, in this mode, you can edit colors by double clicking on them with the eyedropper tool.
  129.  
  130. 3) System - This is Apple's standard palette for the Mac II.  It is the same as the PixelPaint's System palette. You can use the CLUT tool to rotate this palette.
  131.  
  132. 4) 256 Color Spectrum - This is a continuous color spectrum which you can rotate using the CLUT tool.
  133.     
  134.  
  135. Scale to Fit Window - If checked, you can use the size box, in the lower right corner,  to rescale the picture in the active window.  Clicking in the zoom box of a picture window will cause that window to be scaled to fit the screen. You are not allowed to change the aspect ratio of a picture.
  136.  
  137. Density Slice - Creates a continuous range of red entries in the video lookup table (the density slice), and allows you  to expand and contract it and to slide it up and down. Density slicing allows you to highlight and measure regions of interest based on their density content. Click and drag near the top of the density slice in the CLUT to vary its size, and click and drag near the bottom to slide it up and down. Double click on the slice with the eyedropper tool to change its color. The Measure and Compute Histogram commands ignore pixels outside of the density slice when density slicing is active.
  138.  
  139. Invert Video Input - If checked, images acquired using the Data Translation frame grabber will be inverted. The status of this flag can be saved using the Save Preferences command.
  140.  
  141.  
  142.  
  143.  
  144.  
  145. Functions Menu
  146.  
  147. Fill - Fills the current selection with the current foreground color. You can change color after the selection has been filled by clicking in the CLUT window. 
  148.  
  149. Invert - Inverts the current selection.
  150.  
  151. Frame - Outlines the current selection using the current foreground color and the current line width. Both the color and line width can be dynamically changed as long as the selection is still active.
  152.  
  153. Erase - Erases the current selection using the current background color. While the selection is active you can change colors by option-clicking in the CLUT window. The BackSpace key is a handy shortcut for this command.
  154.  
  155. Photo Mode - Erases the entire screen to the current background color and then redraws  the current picture window without the menu bar, title bar, tool palette, etc.. Holding down the option key while selection this command will cause the active picture to be drawn starting at the top of the screen.
  156.  
  157.  
  158. Filtering Functions(Smooth, Sharpen, etc.) - These functions, with the exception of the Reduce Noise,  are implemented using 3 X 3 spatial convolutions, where the value of each pixel in the selection is replaced with the weighted average of its 3 X 3 neighborhood.  For correct operation they require a monochrome image with a 256 gray-level palette, or a pseudocolored image that started out as a 256 gray-level image . The weighting coefficients for the various filters are given below.  Filtering functions a currently limited to rectangular selections.
  159.  
  160. Smooth - This is a low pass filter that will blur the selection.
  161.   2  3  2
  162.   3 10  3
  163.   2  3  2
  164.  
  165. Sharpen - This is a high pass filter which accentuates detail in the selection, but may also accentuate noise. To minimize noise, you can Smooth and/or Reduce Noise before using the Sharpen command.
  166.  -1  -1  -1;
  167.  -1   9  -1;
  168.  -1  -1  -1;
  169.  
  170. Detect Edges - Two convolutions are done, generating vertical and horizontal derivatives, and  the resulting pixel with the higher value is used.
  171.   1  2  1     -1  0  1
  172.   0  0  0     -2  0  2
  173.  -1 -2 -1     -1  0  1
  174.  
  175. Shadow
  176.  -2  1  0
  177.  -1  1  1
  178.   0  1  2
  179.  
  180.  
  181. Reduce Noise - This is a "median filter", where each pixel is replaced with the median value of the 3 X 3 neighborhood. This a time consuming operation because, for each pixel in the selection, it must sort the nine pixels in the 3X3 neighborhood and replace the center pixel with the median value(the fifth). For a demonstration of the effectiveness of median filtering try removing random spot noise generated using an air brush with a diameter of around 50.
  182.  
  183.  
  184. Run Movie - Erases the screen to the current background color and then animates the currently opened pictures by repeatedly drawing them to the screen at the location of the currently active window. The pictures will be drawn in the order in which they are listed in the Windows menu. The speed of drawing can be controlled by pressing the keys '1' through '9'. The right and left arrow keys can be used to single step through the pictures which make up the movie. Press the mouse button to stop the animation. You can use the Finder's Open command to cause Image to automatically load a series of pictures. To do this, put the files you would like loaded in a folder, select "View by Name", "Select All", and then "Open". 
  185.  
  186. Apply Look-Up Table - Applies the current look-up table function to each pixel in the current rectangular selection. This command provides a way of making brightness and contrast changes permanent. It can  be used to "posterize" an image by loading, for example, a palette consisting of four shades of gray. It can also be used to convert color images to gray-level images.
  187.  
  188. Change Color - Changes the color of all the pixels in the current foreground color to the current background color. For example, to change a solid white picture background to black you would set the foreground color to white, the background color to black, Select All, and then Change Color.
  189.  
  190. Start Digitizing - Captures TV camera images using the Data Translation DT2255-60Hz QuickCapture frame grabber card. While digitizing, you are allowed to change contrast, alter color schemes, zoom, or pan. Clicking in the Camera window with any tool except the magnifying Glass or the Grabber will cause digitizing to stop. While digitizing is in progress the "Start Digitizing" command changes to "Stop Digitizing".
  191.  
  192.  
  193.  
  194. Analysis Menu
  195.  
  196. Compute Histogram - Computes the gray level histogram of the current selection. A plot will be generated which shows, for each of the possible 256 intensity levels, the number of pixels in the selection that have that intensity level. Histograms are not limited to rectangular areas.
  197.  
  198. Measure - Computes the mean, standard deviation, minimum and maximum intensity of the pixels in the current  selection. The Undo command deletes the last measurement. If the minimum is less than 1, or the maximum is 254, then a message will be displayed indicating the possibility of saturation. If density slicing has been enabled, then only pixels within the density slice will be included in the computation. If the Set Scale command has been used to establish the spatial scale, then the area of the region of interest will be given in calibrated units, such as millimeters. If the Calibrate command has been used to perform density calibration, then density readings will be converted using the standard curve generated by the Calibrate command, and results reported in calibrated units, such as optical Density or isotope concentration.
  199.  
  200. Column Average Plot - Generates a density profile plot, where the width of the plot is equal to the width of the current rectangular selection and each point in the plot represents the average intensity of the pixels in the corresponding column in the selection. You can use the Undo command to delete the rectangular outline.
  201.  
  202. Save Blank Field - Use this command to save a median brightness blank field which will be used  to correct for nonuniform illumination and for the nonuniform response of the video camera.Before using this command you must start digitizing and adjust the lens diaphragm and/or lightbox intensity so that the average pixel value, as shown by the dynamic pixel value displayed in the Results window, is approximately 128. The Stop Digitizing  command will use the reference image previously acquired by the Save Blank Field to correct shading errors in the newly acquired image. It does this by dividing each pixel in the newly acquired image by a correction factor computed for each of the 300,000 pixels in the blank field.  The correction factor is generated  by dividing  each blank field pixel value by the mean blank field density. You can digitize a single frame without shading correction by holding down the Option key while selecting the Stop Digitizing command. Close the "Blank Field" window if you want to stop doing shading correction.
  203.  
  204. Set Scale -  Performs spacial calibration so that results from length and area measurements can be presented in calibrated units, such as millimeters. Before using this command you must first measure a known distance along a  ruler or other scale using the ruler tool. Then, simply enter this value in the Set Scale dialog box. 
  205.  
  206. Calibrate - Allows you to calibrate to a set of density standards, such as a calibrated optical density step tablet, or radioactive isotope concentrations. Before using this command,  use the Reset command  to set the measurement counter to zero, and use the Measure command to record the average density of each of the standards.
  207.  
  208. Reset - Reset the counters used for density, length, and point  measurements to zero. 
  209.  
  210.  
  211.  
  212. Font and Style Menus
  213.  
  214. Text handling in Image is similar to that in Macintosh painting programs such as MacPaint, SuperPaint, and PixelPaint, with the exception that you currently can only change characteristics, such as size and style, of the last line entered. You are allowed to change the color(by clicking in the CLUT window), size, typeface, style and justification of the current line of text after the text has been entered.  The background color can be changed by Option-clicking in the CLUT window.
  215.  
  216.  
  217.  
  218. Tool Palette 
  219.  
  220. The window containing the tool palette, as well as all the other windows displayed by Image, can be freely moved around the screen.  The tool palette window also has the additional ability to "float" above image windows, like the tear-off palettes in HyperCard and MacPaint 2.0. All the tools work at any of eight available levels of magnification.
  221.  
  222. Magnifying Glass - Click within the active picture window to zoom. Double-click to unzoom. Option-click to unzoom in steps. 
  223.  
  224. Selection Rectangle - Double-click to select the entire picture. Use this tool to specify a rectangular subregion for use by commands in the Functions menu and Edit menu. Hold down the Shift key to constrain the selection to be square.
  225.  
  226. Oval, Freehand, Polygon, Rounded Rectangle - These are outlining  tools for defining non-rectangular subregions for use by various commands in the Functions and Edit  menus. Regions defined by these tools, along with the rectangle tool,  can painted, erased, inverted, framed, flipped or rotated. The Paint command allows you to change colors after a region has been painted by clicking in the CLUT window. Similarly, the Frame command allows you to change the line width by clicking on the lines in the Tools window. Note:  filtering commands, such as Smooth and Detect Edges, currently require a rectangular selection.
  227.  
  228. Pencil -  Option-click to pick up the color under the pencil. This works in either the current picture window or the CLUT window. It is not necessary to hold down the option key to pick up colors from the CLUT window.  Holding down the Shift Key causes pencil movements to be constrained to be either horizontal or vertical.
  229.  
  230.  
  231. Eraser - Option-click to pick up background colors. Also picks up background colors from the CLUT window.  Holding down the Shift Key causes eraser movements to be constrained to be either horizontal or vertical.
  232. The color of the eraser indicates the current background color. The background color is used by the Erase command and as the background color for text. 
  233.  
  234. Paint Brush - Option-click to pick up the color under the brush . It is not necessary to hold down the option key to pick up colors from the CLUT window. The color of the brush indicates the current foreground color. Double-click on the brush to change its size. Holding down the Shift Key causes brush movements to be constrained to be either horizontal or vertical.
  235.  
  236. CLUT Tool(The Double Headed Arrow) - This tool is used to dynamically modify the Color Look-Up Table(CLUT) by clicking and dragging in the CLUT window. 
  237.  
  238. Airbrush Tool - Double-click to change the brush diameter. 
  239.  
  240. Line Tool - Lines can be constrained to be either vertical or horizontal by holding down the Shift key. Line width is specified by clicking on the lines at the bottom of the Tools window.
  241.  
  242. Smudging Tool(The Finger) - Double-click to change the diameter of the  be smudging area. 
  243.  
  244. Density Profile Tool(The Line Plot) - Generates a plot of the intensity values along a line which you generate as if you were using the line drawing tool.  If you don't want the line left in the picture window, use the Undo command to delete it.  Averaging will be performed if the line width is greater than one. For example, assume the maximum line width is selected by clicking on the thickest line at the bottom of the tool palette, then each data point plotted is the average of eight pixels. The Plot window, unlike the Histogram window,  my be resized. Lines can be constrained to horizontal or vertical be holding down the Shift key. Plots can be copied to the Clipboard and then pasted into a picture window. In addition to the plot, the Copy command also copies the plot data to the Clipboard as a single column of numbers, where it can be pasted into analysis and plotting programs, such as KaleidaGraph.
  245.  
  246. Histogram(The Column Plot) - Generates a density histogram of the specified rectangle. Double-click to generate a histogram of the entire picture.
  247.  
  248. Eyedropper - Picks up colors from the active picture window and from the CLUT window. Option-click to pick up background colors.  Double-clicking on a color in the CLUT window, assuming you are currently using one of the standard Image color palettes,  causes the Color Picker dialog box to be displayed, allowing you to modify that color. Double-clicking in the CLUT window allows you to change the density slice color when Image is in the density slicing mode.
  249.  
  250. Ruler - Measure linear distances. Distances are given in pixels unless the Set Scale command has been used to perform spatial calibration. Option-clicking in the picture window will bring up the Set Scale dialog box.
  251.  
  252. Counting Tool - Counts objects and records their positions, leaving behind markers so that objects are not counted twice. Markers are drawn in the current foreground color and their size is related to the current line width. This tool also does double duty as a paint bucket like the one in MacPaint. Option-clicking causes all pixels located where paint can leak from the starting point to be changed to the foreground color. There is currently a bug which prevents paint from leaking near the right edge of images of widths that are not evenly divisible by eight.
  253.  
  254.  
  255. Mono Window 
  256.  
  257. Click in this window to load the CLUT with 256 shades of gray. To vary brightness, click and drag inside the frame, which moves the plot(a piece-wise linear density transformation function) horizontally. This changes the Y-intercept of the function while maintaining the slope fixed. To change contrast, click and drag in the margin to move the two points which define the function. A good strategy to use for improving the contrast of gray-level image is to click(outside the frame) in the lower left hand corner, than drag horizontally to the right until the image starts to saturate. Similarly, click in the upper right hand corner, and drag horizontally to the left. Double-click in the Mono window to reset the CLUT to a 256 gray level ramp(an identity function). 
  258.  
  259. CLUT Window
  260.  
  261. Click in this window to load the CLUT with a color palette. The default palette consists of 20 colors.  Click and drag near the bottom of the palette to move it within the CLUT. Click and drag near the top of the palette to stretch it. Click in this window with any of the drawing tools to pick up a new drawing (foreground) color.  256 color palettes, such as the one produced by the "256 Color Spectrum" command can be "rotated",  but not stretched. Click in the CLUT widow with the eraser to pick up a new background color.  Double-click on a color  with the eyedropper tool to edit it. Use the Save command to save the modified palette with the picture.
  262.  
  263.  
  264. Importing Pictures from Other Programs
  265.  
  266. Image can open and display GrayView pictures saved in either the standard GrayView format(type "gray") or in PICT file format(type "PICT"). If the resource fork of a file being opened contains a "clut" resource Image will update the look-up table with the palette contained in that resource. Image can also read PixelPaint images that have been saved in PICT file format. "Revert to Saved" does not work with GrayView pictures, but does work with PICT files.
  267.  
  268. Upcoming Features(in no particular order) 
  269.  
  270. Ñ Frame averaging to reduce noise
  271. Ñ Registration of two images using movable transparent overlay
  272. Ñ Speed up Airbrush and Smudging tools 
  273. Ñ On-line help 
  274. Ñ Ability to specify size of newly created windows 
  275. Ñ Image subtraction
  276.  
  277.  
  278.  
  279. Picture File Format
  280.  
  281. Image uses a very simple file format consisting of a 512 byte header followed by the uncompressed 8-bit pixel data. The format is similar to that used by the PDP-11 version of Image, and, in fact, the Macintosh version of Image can read the files produced by PDP-11 version of Image. The easiest way to generate a file that the Mac version of Image can read is to duplicate the PDP-11 file format, as shown below:
  282.  
  283.  
  284. PicHeader=RECORD
  285.   nlines:integer;                {16-bit integer in PDP-11/VAX byte order}
  286.   PixelsPerLine:integer  {Ditto}
  287.   Unused:PACKED ARRAY[1..508] OF byte;  {Set to zero}
  288. END;
  289.  
  290.  
  291. PicFile=RECORD
  292.   Hdr:PicHeader;  {512 Bytes}
  293.   PicData:PACKED ARRAY[1..PicSize] of byte;  {PicSize=nlines*PixelsPerLine}
  294. END;
  295.  
  296. The first "PixelsPerLine" bytes of PicData contain the first(top) line of the picture, the next "PixelsPerLine" bytes contain the second line, etc. Pixels are always one byte(8-bits) in length, where 0 is black(minimum intensity), and 255 is white(maximum intensity. The file type and creator of the file must be "IPIC" and "IMAG", respectively.
  297.  
  298.  
  299. PROGRAM MakeRamp;
  300. {
  301. This example Turbo Pascal program shows how to create a picture that
  302. can be opened by the Image program. The file and creator of the
  303.  
  304. resulting file must be set to "IPIC" and "IMAG", respectively.
  305. }
  306. CONST
  307.   nlines=450;
  308.   PixelsPerLine=512;
  309. VAR
  310.   f:text;
  311.   i,line,pixel:integer;
  312. BEGIN
  313.   rewrite(f,'Ramp');
  314.   write(f,chr(nlines MOD 256));
  315.   write(f,chr(nlines DIV 256));
  316.   write(f,chr(PixelsPerLine MOD 256));
  317.   write(f,chr(PixelsPerLine DIV 256));
  318.   FOR i:=1 TO 508 DO write(f,chr(0));
  319.   FOR line:=1 TO nlines DO
  320.     FOR pixel:=0 TO PixelsPerLine-1 DO write(f,chr(pixel));
  321. END.
  322.  
  323.  
  324. How to get an Updated Version
  325.  
  326. Image is available from many Macintosh bulletin boards and user group libraries. A reasonably current version should be available from one of the following:
  327.  
  328. 1) DL10 of MACPRO on CompuServe
  329. 2) Twilight Clone  BBS in Silver Spring, MD,  301-946-5032
  330.  
  331.  
  332.  
  333. Programming Problems
  334.  
  335. There are a few unresolved programming problems in version .81 of Image. Any help towards solving any of these problems would be greatly appreciated. 
  336.  
  337.  
  338. 1) The smudging tool doesn't work very well. How can it be made to work better?
  339.  
  340. 2) Image will crash in CopyBits if I allow the user to move the Camera window around using the DoDrag routine. Why is this?
  341.  
  342. 3) If a resource of type'pltt' with an ID=0 is installed in the resource file(IMAGE.RSRC) used to build Image, and you are using System 6.0, then Turbo Pascal usually crashes on the second compile to memory. Is this a bug in Turbo Pascal, or a bug in the Palette Manager? If the Palette Manager in System 6.0 finds a 'pltt' resource with ID=0 it uses it for any windows that the programmer has not provided palettes for. This seems to fix Image's palette problems with System 6.0, but causes problems for Turbo Pascal.
  343.  
  344.  
  345. Help with any of these problems, as well as bug reports and suggestions are welcome. 
  346.  
  347.  
  348. Wayne Rasband                   Internet: wayne%nih-csl@ncifcrf.gov
  349. National Institutes of Health   uucp: uunet!ncifcrf.gov!nih-csl!wayne
  350. Bldg 36, Room 2A-03             BitNet: wsr@nihcu
  351. Bethesda, MD 20892              CompuServe: 76067,3454
  352.